package hospital.service;

import java.util.List;

import hospital.model.AppointmentModel;
import hospital.model.DocScheduleModel;
import hospital.model.EmpInfoModel;
import hospital.model.LoginModel;
import hospital.model.PatientInfoModel;
import hospital.model.RecordDetailModel;

public interface StaffService {
	public boolean createPatient(LoginModel loginInfo, PatientInfoModel patientInfo);

	public List<PatientInfoModel> getPatientResult(long userId, String firstname, String lastname);

	public EmpInfoModel getDefaultDoctor(long doctorId);

	public List<PatientInfoModel> getAppointPatientResult(long userId, String firstname, String lastname);

	public List<EmpInfoModel> getAppointDocResult(long userId, String firstname, String lastname);

	public List<DocScheduleModel> getDocSchedules(long docId);

	public boolean createAppointment(AppointmentModel appointment);

	public List<RecordDetailModel> getRecordDetailList(long patientId);

	public List<DocScheduleModel> getAppointmentList(long appointmentId, long patientId, long doctorId);

	public boolean updateAppointment(AppointmentModel appointment);

	public boolean deleteAppointment(long deleteId);

	public boolean updatePatient(PatientInfoModel patientInfo);

	public List<PatientInfoModel> getAllPatients();

	public List<RecordDetailModel> searchRecord(long patientId, long recordTimeStart, long recordTimeEnd,
			String diagnosis, String drug, String comment);

	public boolean checkAvailability(String email);

	public boolean checkSinUnique(String sin);

	public boolean checkPatientExist(long patientId);

	public boolean checkOhipUnique(String ohip);

	public boolean updateUsername(String email, long patientId);

	public String checkPassword();

	public boolean changePassword(String password);
}
